package com.huayue.dao;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Component;

import com.huayue.entity.SaleOrderDetails;
import com.huayue.util.PageHelper;
import com.mysql.DBHelper;

/**
 * 销售订单详情
 */
@Component
public class SaleOrderDetailsDao implements BaseDao<SaleOrderDetails> {
    /**
     * 添加方法
     *
     * @param entity
     * @return
     */
    @Override
    public int insert(SaleOrderDetails entity) {
        return DBHelper.executeUpdate(
            "insert into sale_order_details (sale_order_id, product_id, price, number) values ((select MAX(id) from sale_order), ?, ?, ?);",
            entity.getProductId(), entity.getPrice(), entity.getNumber());
    }

    /**
     * 修改方法
     *
     * @param entity
     * @return
     */
    @Override
    public int update(SaleOrderDetails entity) {
        return 0;
    }

    /**
     * 删除方法
     *
     * @param entity
     * @return
     */
    @Override
    public int delete(SaleOrderDetails entity) {
        return 0;
    }

    /**
     * 查询方法 传入可变参数
     *
     * @param obj
     * @return
     */
    @Override
    public List<Map<String, Object>> findAll(Object... obj) {
        return null;
    }

    /**
     * 分页查询方法 传入分页对象和可变参数 分页对象用于分页查询 可变参数用于增加条件
     *
     * @param page
     * @param obj
     * @return
     */
    @Override
    public List<Map<String, Object>> findPage(PageHelper page, Object... obj) {
        return null;
    }

    /**
     * 查询一条数据 通常对象中只需存有id
     *
     * @param entity
     * @return
     */
    @Override
    public Map<String, Object> findOne(SaleOrderDetails entity) {
        return null;
    }

    /**
     * 查询总条数 传入可变参数，用于增加条件
     *
     * @param obj
     * @return
     */
    @Override
    public int count(Object... obj) {
        return 0;
    }

    public List<Map<String, Object>> findDetails(String id) {
        return DBHelper.executeQuery("select sod.*,p.unit,p.product_number from sale_order_details sod \n"
            + "left join product p on sod.product_id=p.id where sod.is_deleted=0 and sod.sale_order_id=?", id);
    }
}
